/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * PesquisaAssociado.java
 *
 * Created on 20/09/2009, 15:29:05
 */
package associados.telas;

import associados.bd.AssociadoDAO;
import associados.classes.Associado;
import associados.classes.ConsultaAssociadoTableModel;
import conexao.DAOException;
import dependente.telas.FrmCadastroDependente;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.TableColumn;

public class FrmConsultaAssociado extends javax.swing.JFrame {

    /** Creates new form PesquisaAssociado */
    public FrmConsultaAssociado() {
        try {
            dao = new AssociadoDAO();
            List<Associado> l = dao.getAssociados();
            model = new ConsultaAssociadoTableModel(l);
        } catch (DAOException ex) {
            //passando a mensagem capturada na excessão criada daoexception
            JOptionPane.showMessageDialog(null, ex.getMessage());

            model = new ConsultaAssociadoTableModel(new ArrayList<Associado>());
        }


        initComponents();
        setVisible(true);
        TabeladeAssociadosjTable.setModel(model);
        //comando para capturar ações de mouse e teclado
       
        TableColumn coluna = TabeladeAssociadosjTable.getColumnModel().getColumn(0);

        coluna.setPreferredWidth(50);
        coluna = TabeladeAssociadosjTable.getColumnModel().getColumn(1);
        coluna.setPreferredWidth(200);

    }


    

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        AssociadosjPanel = new javax.swing.JPanel();
        PesquisadeAssociadosjTextField = new javax.swing.JTextField();
        TabeladeAssociadosScrollPane = new javax.swing.JScrollPane();
        TabeladeAssociadosjTable = new javax.swing.JTable();
        NomedoAssociadojLabel = new javax.swing.JLabel();
        BarradeTarefasjToolBar = new javax.swing.JToolBar();
        AdicionarjButton = new javax.swing.JButton();
        EditarjButton = new javax.swing.JButton();
        ExcluirjButton = new javax.swing.JButton();
        DependentejButton = new javax.swing.JButton();
        PesquisarjButton = new javax.swing.JButton();
        SeparadordeTarefasjSeparator = new javax.swing.JToolBar.Separator();
        ImprimirjButton = new javax.swing.JButton();
        VisualizarjButton = new javax.swing.JButton();
        MalaDiretajButton = new javax.swing.JButton();
        RelatoriojButton = new javax.swing.JButton();
        FecharrjButton = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Consulta de Associados");
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setIconImages(null);
        setLocationByPlatform(true);
        setResizable(false);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        AssociadosjPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        AssociadosjPanel.setPreferredSize(new java.awt.Dimension(800, 600));
        AssociadosjPanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
        AssociadosjPanel.add(PesquisadeAssociadosjTextField, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 40, 520, -1));

        TabeladeAssociadosjTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Nome do Associado", "Número do Benefício", "Fone Residencial", "Fone Celular"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        TabeladeAssociadosjTable.setToolTipText("Tabela de Associados");
        TabeladeAssociadosjTable.setAutoscrolls(false);
        TabeladeAssociadosjTable.getColumnModel().getColumn(0).setPreferredWidth(400);
        TabeladeAssociadosjTable.getColumnModel().getColumn(1).setPreferredWidth(100);
        TabeladeAssociadosScrollPane.setViewportView(TabeladeAssociadosjTable);
        TabeladeAssociadosjTable.getColumnModel().getColumn(0).setPreferredWidth(450);
        TabeladeAssociadosjTable.getColumnModel().getColumn(1).setPreferredWidth(40);
        TabeladeAssociadosjTable.getColumnModel().getColumn(2).setPreferredWidth(20);
        TabeladeAssociadosjTable.getColumnModel().getColumn(3).setPreferredWidth(20);

        AssociadosjPanel.add(TabeladeAssociadosScrollPane, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 70, 810, 380));

        NomedoAssociadojLabel.setFont(new java.awt.Font("Tahoma", 0, 12));
        NomedoAssociadojLabel.setText("Nome do Associado:");
        AssociadosjPanel.add(NomedoAssociadojLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 26, -1, -1));

        BarradeTarefasjToolBar.setFloatable(false);
        BarradeTarefasjToolBar.setRollover(true);

        AdicionarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/novo.png"))); // NOI18N
        AdicionarjButton.setText("Adicionar");
        AdicionarjButton.setToolTipText("Adicionar Associado");
        AdicionarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        AdicionarjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        AdicionarjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        AdicionarjButton.setName(""); // NOI18N
        AdicionarjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        AdicionarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        AdicionarjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AdicionarAssociado(evt);
            }
        });
        BarradeTarefasjToolBar.add(AdicionarjButton);

        EditarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/alterar.png"))); // NOI18N
        EditarjButton.setText("Editar");
        EditarjButton.setToolTipText("Editar Associado");
        EditarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        EditarjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        EditarjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        EditarjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        EditarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        EditarjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                EditarCadastroAssociado(evt);
            }
        });
        BarradeTarefasjToolBar.add(EditarjButton);

        ExcluirjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/excluir.png"))); // NOI18N
        ExcluirjButton.setText("Excluir");
        ExcluirjButton.setToolTipText("Excluir Associado");
        ExcluirjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        ExcluirjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        ExcluirjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        ExcluirjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        ExcluirjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        BarradeTarefasjToolBar.add(ExcluirjButton);

        DependentejButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/dependente.png"))); // NOI18N
        DependentejButton.setText("Dependente");
        DependentejButton.setToolTipText("Incluir Dependente");
        DependentejButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        DependentejButton.setMaximumSize(new java.awt.Dimension(80, 90));
        DependentejButton.setMinimumSize(new java.awt.Dimension(80, 90));
        DependentejButton.setPreferredSize(new java.awt.Dimension(80, 90));
        DependentejButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        DependentejButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AdicionarDependente(evt);
            }
        });
        BarradeTarefasjToolBar.add(DependentejButton);

        PesquisarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/pesquisar.png"))); // NOI18N
        PesquisarjButton.setText("Pesquisar");
        PesquisarjButton.setToolTipText("Pesquisar Associado");
        PesquisarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        PesquisarjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        PesquisarjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        PesquisarjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        PesquisarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        PesquisarjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                PesquisarAssociado(evt);
            }
        });
        BarradeTarefasjToolBar.add(PesquisarjButton);
        BarradeTarefasjToolBar.add(SeparadordeTarefasjSeparator);

        ImprimirjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/impressao.png"))); // NOI18N
        ImprimirjButton.setText("Imprimir");
        ImprimirjButton.setToolTipText("Imprimir");
        ImprimirjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        ImprimirjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        ImprimirjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        ImprimirjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        ImprimirjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        BarradeTarefasjToolBar.add(ImprimirjButton);

        VisualizarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/visualizar.png"))); // NOI18N
        VisualizarjButton.setText("Visualizar");
        VisualizarjButton.setToolTipText("Visualizar Cadastro");
        VisualizarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        VisualizarjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        VisualizarjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        VisualizarjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        VisualizarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        BarradeTarefasjToolBar.add(VisualizarjButton);

        MalaDiretajButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/maladireta.png"))); // NOI18N
        MalaDiretajButton.setText("Mala Direta");
        MalaDiretajButton.setToolTipText("Mala Direta");
        MalaDiretajButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        MalaDiretajButton.setMaximumSize(new java.awt.Dimension(80, 90));
        MalaDiretajButton.setMinimumSize(new java.awt.Dimension(80, 90));
        MalaDiretajButton.setPreferredSize(new java.awt.Dimension(80, 90));
        MalaDiretajButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        BarradeTarefasjToolBar.add(MalaDiretajButton);

        RelatoriojButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/relatorio.png"))); // NOI18N
        RelatoriojButton.setText("Relatórios");
        RelatoriojButton.setToolTipText("Relatórios");
        RelatoriojButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        RelatoriojButton.setMaximumSize(new java.awt.Dimension(80, 90));
        RelatoriojButton.setMinimumSize(new java.awt.Dimension(80, 90));
        RelatoriojButton.setPreferredSize(new java.awt.Dimension(80, 90));
        RelatoriojButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        BarradeTarefasjToolBar.add(RelatoriojButton);

        FecharrjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/close.png"))); // NOI18N
        FecharrjButton.setText("Fechar");
        FecharrjButton.setToolTipText("Fechar");
        FecharrjButton.setFocusable(false);
        FecharrjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        FecharrjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        FecharrjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        FecharrjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        FecharrjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        FecharrjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                FecharAssociado(evt);
            }
        });
        BarradeTarefasjToolBar.add(FecharrjButton);

        AssociadosjPanel.add(BarradeTarefasjToolBar, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 470, 830, 80));

        getContentPane().add(AssociadosjPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 860, 560));

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void AdicionarAssociado(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AdicionarAssociado
        new FrmCadastroAssociado(null);
       
    }//GEN-LAST:event_AdicionarAssociado

    private void PesquisarAssociado(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PesquisarAssociado
        // TODO add your handling code here:
    }//GEN-LAST:event_PesquisarAssociado

    private void AdicionarDependente(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AdicionarDependente
        new FrmCadastroDependente();
    }//GEN-LAST:event_AdicionarDependente

    private void EditarCadastroAssociado(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_EditarCadastroAssociado
        int linha = TabeladeAssociadosjTable.getSelectedRow();
        if (linha >= 0) {
            Associado a = model.listaAssociado.get(linha);
            System.out.println("codigo: " + a.getIdAssociado());
            new FrmCadastroAssociado(a);
        } else {
            JOptionPane.showConfirmDialog(this, "Selecione uma pessoa primeiro");
        }
    }//GEN-LAST:event_EditarCadastroAssociado

    private void FecharAssociado(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FecharAssociado
        this.dispose();
    }//GEN-LAST:event_FecharAssociado
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new FrmConsultaAssociado().setVisible(true);
            }
        });


    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton AdicionarjButton;
    private javax.swing.JPanel AssociadosjPanel;
    private javax.swing.JToolBar BarradeTarefasjToolBar;
    private javax.swing.JButton DependentejButton;
    private javax.swing.JButton EditarjButton;
    private javax.swing.JButton ExcluirjButton;
    private javax.swing.JButton FecharrjButton;
    private javax.swing.JButton ImprimirjButton;
    private javax.swing.JButton MalaDiretajButton;
    private javax.swing.JLabel NomedoAssociadojLabel;
    private javax.swing.JTextField PesquisadeAssociadosjTextField;
    private javax.swing.JButton PesquisarjButton;
    private javax.swing.JButton RelatoriojButton;
    private javax.swing.JToolBar.Separator SeparadordeTarefasjSeparator;
    private javax.swing.JScrollPane TabeladeAssociadosScrollPane;
    private javax.swing.JTable TabeladeAssociadosjTable;
    private javax.swing.JButton VisualizarjButton;
    // End of variables declaration//GEN-END:variables
    private AssociadoDAO dao;
    private ConsultaAssociadoTableModel model;
}
